package publics.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


@Entity
@Table(name="income_statement")
public class IncomeStatement {//利润表
	
	   private Integer id;//ID int not null,
	   private Enterprise ent;
	   private Boolean chooseTime;//本月还是年    bool not null,
	   private Integer year;//利润表年份
	   private Integer monthStart;//起始月份
	   private Integer monthEnd;//结束月份
	   private Integer type;//上期金额还是本期金额（1上期，2本期）
	  
	   private Float operate;//营业收入                  Float not null,
	   private Float operateCosts;//营业成本   Float not null,
	   
	   private Float saleTaxExtra;//营业税金及附加   Float not null,
	   private Float sellExpense;//销售费用  Float not null,
	                                     //管理费用
	   private Float financeExpense;//财务费用  Float not null,
	   private Float devaluationLoss;//资产减值损失 Float not null,
	   private Float manageExpense;
       private Float changeIncome;// 公允价值变动收益 Float not null,
	   private Float investIncome;// 投资收益Float not null,
	   private Float investIncomeUnion;// 对联营企业和合营企业的投资收益Float not null,
	   private Float operateProfit;// 营业利润Float not null,
	   private Float nonbusiIncome;//营业外收入   Float not null,
	   
	   private Float nonbusiExpend;// 营业外支出   Float not null,
	   private Float handleLose;// 非流动资产处置损失    Float not null,
	   private Float profitTotal;//利润总额    Float not null,
	   private Float incomeTax;// ：所得税费用      Float not null,
	   private Float netProfit;//净利润      Float not null,
	   
	   private Float eps;//每股收益：    Float not null,
	   private Float epsBase;//基本每股收益           Float not null,
	   private Float epsDilute;//稀释每股收益    Float not null,
	   private Float other;// 其他综合收益            Float not null,
	   private Float all;// 综合收益总额            Float not null,
	  // primary key (Inc_id)
	 @Id
	 @GeneratedValue
	 @Column(name="Inc_id")
	public Integer getId() {
		return id;
	}
	 @ManyToOne(fetch=FetchType.LAZY)
	 @JoinColumn(name="Ent_id",nullable=false)
	public Enterprise getEnt() {
		return ent;
	}
	 @Column(name="Inc_choose_time")
	public Boolean isChooseTime() {
		return chooseTime;
	}
	 @Column(name="Inc_year")
	public Integer getYear() {
		return year;
	}
	 @Column(name="Inc_month_start")
	public Integer getMonthStart() {
		return monthStart;
	}
	 @Column(name="Inc_month_end")
	public Integer getMonthEnd() {
		return monthEnd;
	}
	 @Column(name="Inc_type")
	public Integer getType() {
		return type;
	}
	 @Column(name="Inc_operating")
	public Float getOperate() {
		return operate;
	}
	 @Column(name="Inc_operating_costs")
	public Float getOperateCosts() {
		return operateCosts;
	}
	 @Column(name="Inc_sale_tax_extra")
	public Float getSaleTaxExtra() {
		return saleTaxExtra;
	}
	 @Column(name="Inc_selling_expense")
	public Float getSellExpense() {
		return sellExpense;
	}
	 @Column(name="Inc_manage_expense")
	public Float getManageExpense() {
		return manageExpense;
	}
	 @Column(name="Inc_finance_expense")
		public Float getFinanceExpense() {
			return financeExpense;
		}
	 @Column(name="Inc_devaluation_loss")
	public Float getDevaluationLoss() {
		return devaluationLoss;
	}
	 @Column(name="Inc_change_income")
	public Float getChangeIncome() {
		return changeIncome;
	}
	 @Column(name="Inc_investment_income")
	public Float getInvestIncome() {
		return investIncome;
	}
	 @Column(name="Inc_investment_income_union")
	public Float getInvestIncomeUnion() {
		return investIncomeUnion;
	}
	 @Column(name="Inc_operating_profit")
	public Float getOperateProfit() {
		return operateProfit;
	}
	 @Column(name="Inc_nonbusi_income")
	public Float getNonbusiIncome() {
		return nonbusiIncome;
	}
	 @Column(name="Inc_nonbusi_expend")
	public Float getNonbusiExpend() {
		return nonbusiExpend;
	}
	 @Column(name="Inc_handle_lose")
	public Float getHandleLose() {
		return handleLose;
	}
	 @Column(name="Inc_profit_total")
	public Float getProfitTotal() {
		return profitTotal;
	}
	 @Column(name="Inc_income_tax")
	public Float getIncomeTax() {
		return incomeTax;
	}
	 @Column(name="Inc_net_profit")
	public Float getNetProfit() {
		return netProfit;
	}
	 @Column(name="Inc_eps")
	public Float getEps() {
		return eps;
	}
	 @Column(name="Inc_eps_base")
	public Float getEpsBase() {
		return epsBase;
	}
	 @Column(name="Inc_eps_dilute")
	public Float getEpsDilute() {
		return epsDilute;
	}
	 @Column(name="Inc_other")
	public Float getOther() {
		return other;
	}
	 @Column(name="Inc_all")
	public Float getAll() {
		return all;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public void setEnt(Enterprise ent) {
		this.ent = ent;
	}
	public void setChooseTime(Boolean chooseTime) {
		this.chooseTime = chooseTime;
	}
	public void setYear(Integer year) {
		this.year = year;
	}
	public void setMonthStart(Integer monthStart) {
		this.monthStart = monthStart;
	}
	public void setMonthEnd(Integer monthEnd) {
		this.monthEnd = monthEnd;
	}
	public void setType(Integer type) {
		this.type = type;
	}

	public void setOperate(Float operate) {
		this.operate = operate;
	}
	public void setOperateCosts(Float operateCosts) {
		this.operateCosts = operateCosts;
	}
	public void setSaleTaxExtra(Float saleTaxExtra) {
		this.saleTaxExtra = saleTaxExtra;
	}
	public void setSellExpense(Float sellExpense) {
		this.sellExpense = sellExpense;
	}
	public void setFinanceExpense(Float financeExpense) {
		this.financeExpense = financeExpense;
	}
	public void setDevaluationLoss(Float devaluationLoss) {
		this.devaluationLoss = devaluationLoss;
	}
	public void setManageExpense(Float manageExpense) {
		this.manageExpense = manageExpense;
	}
	public void setChangeIncome(Float changeIncome) {
		this.changeIncome = changeIncome;
	}
	public void setInvestIncome(Float investIncome) {
		this.investIncome = investIncome;
	}
	public void setInvestIncomeUnion(Float investIncomeUnion) {
		this.investIncomeUnion = investIncomeUnion;
	}
	public void setOperateProfit(Float operateProfit) {
		this.operateProfit = operateProfit;
	}
	public void setNonbusiIncome(Float nonbusiIncome) {
		this.nonbusiIncome = nonbusiIncome;
	}
	public void setNonbusiExpend(Float nonbusiExpend) {
		this.nonbusiExpend = nonbusiExpend;
	}
	public void setHandleLose(Float handleLose) {
		this.handleLose = handleLose;
	}
	public void setProfitTotal(Float profitTotal) {
		this.profitTotal = profitTotal;
	}
	public void setIncomeTax(Float incomeTax) {
		this.incomeTax = incomeTax;
	}
	public void setNetProfit(Float netProfit) {
		this.netProfit = netProfit;
	}
	public void setEps(Float eps) {
		this.eps = eps;
	}
	public void setEpsBase(Float epsBase) {
		this.epsBase = epsBase;
	}
	public void setEpsDilute(Float epsDilute) {
		this.epsDilute = epsDilute;
	}
	public void setOther(Float other) {
		this.other = other;
	}
	public void setAll(Float all) {
		this.all = all;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "IncomeStatement [all=" + all + ", changeIncome=" + changeIncome
				+ ", chooseTime=" + chooseTime + ", devaluationLoss="
				+ devaluationLoss + ", ent=" + ent + ", eps=" + eps
				+ ", epsBase=" + epsBase + ", epsDilute=" + epsDilute
				+ ", financeExpense=" + financeExpense + ", handleLose="
				+ handleLose + ", id=" + id + ", incomeTax=" + incomeTax
				+ ", investIncome=" + investIncome + ", investIncomeUnion="
				+ investIncomeUnion + ", manageExpense=" + manageExpense
				+ ", monthEnd=" + monthEnd + ", monthStart=" + monthStart
				+ ", netProfit=" + netProfit + ", nonbusiExpend="
				+ nonbusiExpend + ", nonbusiIncome=" + nonbusiIncome
				+ ", operate=" + operate + ", operateCosts=" + operateCosts
				+ ", operateProfit=" + operateProfit + ", other=" + other
				+ ", profitTotal=" + profitTotal + ", saleTaxExtra="
				+ saleTaxExtra + ", sellExpense=" + sellExpense + ", type="
				+ type + ", year=" + year + "]";
	}
	

}
